<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>boston_housing</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir="rtl"] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir="rtl"] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir="rtl"] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir="rtl"] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir="rtl"] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: "(command)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}

@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;">&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;<a class="anchor-link" href="#&#26426;&#22120;&#23398;&#20064;&#24037;&#31243;&#24072;&#32435;&#31859;&#23398;&#20301;">&#182;</a></h1><h2 id="&#27169;&#22411;&#35780;&#20215;&#19982;&#39564;&#35777;">&#27169;&#22411;&#35780;&#20215;&#19982;&#39564;&#35777;<a class="anchor-link" href="#&#27169;&#22411;&#35780;&#20215;&#19982;&#39564;&#35777;">&#182;</a></h2><h2 id="&#39033;&#30446;-1:-&#39044;&#27979;&#27874;&#22763;&#39039;&#25151;&#20215;">&#39033;&#30446; 1: &#39044;&#27979;&#27874;&#22763;&#39039;&#25151;&#20215;<a class="anchor-link" href="#&#39033;&#30446;-1:-&#39044;&#27979;&#27874;&#22763;&#39039;&#25151;&#20215;">&#182;</a></h2><p>欢迎来到机器学习工程师纳米学位的第一个项目！在此文件中，有些示例代码已经提供给你，但你还需要实现更多的功能来让项目成功运行。除非有明确要求，你无须修改任何已给出的代码。以<strong>'练习'</strong>开始的标题表示接下来的内容中有需要你必须实现的功能。每一部分都会有详细的指导，需要实现的部分也会在注释中以<strong>'TODO'</strong>标出。请仔细阅读所有的提示！</p>
<p>除了实现代码外，你还<strong>必须</strong>回答一些与项目和实现有关的问题。每一个需要你回答的问题都会以<strong>'问题 X'</strong>为标题。请仔细阅读每个问题，并且在问题后的<strong>'回答'</strong>文字框中写出完整的答案。你的项目将会根据你对问题的回答和撰写代码所实现的功能来进行评分。</p>
<blockquote><p><strong>提示：</strong>Code 和 Markdown 区域可通过 <strong>Shift + Enter</strong> 快捷键运行。此外，Markdown可以通过双击进入编辑模式。</p>
</blockquote>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#24320;&#22987;">&#24320;&#22987;<a class="anchor-link" href="#&#24320;&#22987;">&#182;</a></h2><p>在这个项目中，你将利用马萨诸塞州波士顿郊区的房屋信息数据训练和测试一个模型，并对模型的性能和预测能力进行测试。通过该数据训练后的好的模型可以被用来对房屋做特定预测---尤其是对房屋的价值。对于房地产经纪等人的日常工作来说，这样的预测模型被证明非常有价值。</p>
<p>此项目的数据集来自<a href="https://archive.ics.uci.edu/ml/datasets/Housing">UCI机器学习知识库</a>。波士顿房屋这些数据于1978年开始统计，共506个数据点，涵盖了麻省波士顿不同郊区房屋14种特征的信息。本项目对原始数据集做了以下处理：</p>
<ul>
<li>有16个<code>'MEDV'</code> 值为50.0的数据点被移除。 这很可能是由于这些数据点包含<strong>遗失</strong>或<strong>看不到的值</strong>。</li>
<li>有1个数据点的 <code>'RM'</code> 值为8.78. 这是一个异常值，已经被移除。</li>
<li>对于本项目，房屋的<code>'RM'</code>， <code>'LSTAT'</code>，<code>'PTRATIO'</code>以及<code>'MEDV'</code>特征是必要的，其余不相关特征已经被移除。</li>
<li><code>'MEDV'</code>特征的值已经过必要的数学转换，可以反映35年来市场的通货膨胀效应。</li>
</ul>
<p>运行下面区域的代码以载入波士顿房屋数据集，以及一些此项目所需的Python库。如果成功返回数据集的大小，表示数据集已载入成功。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Import libraries necessary for this project</span>
<span class="c1"># 载入此项目所需要的库</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">visuals</span> <span class="kn">as</span> <span class="nn">vs</span> <span class="c1"># Supplementary code</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">ShuffleSplit</span>

<span class="c1"># Pretty display for notebooks</span>
<span class="c1"># 让结果在notebook中显示</span>
<span class="o">%</span><span class="k">matplotlib</span> inline

<span class="c1"># Load the Boston housing dataset</span>
<span class="c1"># 载入波士顿房屋的数据集</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;housing.csv&#39;</span><span class="p">)</span>
<span class="n">prices</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;MEDV&#39;</span><span class="p">]</span>
<span class="n">features</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;MEDV&#39;</span><span class="p">,</span> <span class="n">axis</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span>

<span class="c1"># Success</span>
<span class="c1"># 完成</span>
<span class="k">print</span> <span class="s2">&quot;Boston housing dataset has {} data points with {} variables each.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>

<span class="n">data</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>

<span class="n">features</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Boston housing dataset has 489 data points with 4 variables each.
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt output_prompt">Out[1]:</div>


<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>RM</th>
      <th>LSTAT</th>
      <th>PTRATIO</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>6.575</td>
      <td>4.98</td>
      <td>15.3</td>
    </tr>
    <tr>
      <th>1</th>
      <td>6.421</td>
      <td>9.14</td>
      <td>17.8</td>
    </tr>
    <tr>
      <th>2</th>
      <td>7.185</td>
      <td>4.03</td>
      <td>17.8</td>
    </tr>
    <tr>
      <th>3</th>
      <td>6.998</td>
      <td>2.94</td>
      <td>18.7</td>
    </tr>
    <tr>
      <th>4</th>
      <td>7.147</td>
      <td>5.33</td>
      <td>18.7</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#20998;&#26512;&#25968;&#25454;">&#20998;&#26512;&#25968;&#25454;<a class="anchor-link" href="#&#20998;&#26512;&#25968;&#25454;">&#182;</a></h2><p>在项目的第一个部分，你会对波士顿房地产数据进行初步的观察并给出你的分析。通过对数据的探索来熟悉数据可以让你更好地理解和解释你的结果。</p>
<p>由于这个项目的最终目标是建立一个预测房屋价值的模型，我们需要将数据集分为<strong>特征(features)</strong>和<strong>目标变量(target variable)</strong>。<strong>特征</strong> <code>'RM'</code>， <code>'LSTAT'</code>，和 <code>'PTRATIO'</code>，给我们提供了每个数据点的数量相关的信息。<strong>目标变量</strong>：<code>'MEDV'</code>，是我们希望预测的变量。他们分别被存在<code>features</code>和<code>prices</code>两个变量名中。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#32451;&#20064;&#65306;&#22522;&#30784;&#32479;&#35745;&#36816;&#31639;">&#32451;&#20064;&#65306;&#22522;&#30784;&#32479;&#35745;&#36816;&#31639;<a class="anchor-link" href="#&#32451;&#20064;&#65306;&#22522;&#30784;&#32479;&#35745;&#36816;&#31639;">&#182;</a></h2><p>你的第一个编程练习是计算有关波士顿房价的描述统计数据。我们已为你导入了<code>numpy</code>，你需要使用这个库来执行必要的计算。这些统计数据对于分析模型的预测结果非常重要的。
在下面的代码中，你要做的是：</p>
<ul>
<li>计算<code>prices</code>中的<code>'MEDV'</code>的最小值、最大值、均值、中值和标准差；</li>
<li>将运算结果储存在相应的变量中。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[155]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># TODO: Minimum price of the data</span>
<span class="c1">#目标：计算价值的最小值</span>
<span class="n">minimum_price</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">prices</span><span class="p">)</span>

<span class="c1"># TODO: Maximum price of the data</span>
<span class="c1">#目标：计算价值的最大值</span>
<span class="n">maximum_price</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">prices</span><span class="p">)</span>

<span class="c1"># TODO: Mean price of the data</span>
<span class="c1">#目标：计算价值的平均值</span>
<span class="n">mean_price</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">prices</span><span class="p">)</span>

<span class="c1"># TODO: Median price of the data</span>
<span class="c1">#目标：计算价值的中值</span>
<span class="n">median_price</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">median</span><span class="p">(</span><span class="n">prices</span><span class="p">)</span>

<span class="c1"># TODO: Standard deviation of prices of the data</span>
<span class="c1">#目标：计算价值的标准差</span>
<span class="n">std_price</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">prices</span><span class="p">)</span>

<span class="c1"># Show the calculated statistics</span>
<span class="c1">#目标：输出计算的结果</span>
<span class="k">print</span> <span class="s2">&quot;Statistics for Boston housing dataset:</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">print</span> <span class="s2">&quot;Minimum price: ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">minimum_price</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;Maximum price: ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">maximum_price</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;Mean price: ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">mean_price</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;Median price ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">median_price</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;Standard deviation of prices: ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">std_price</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Statistics for Boston housing dataset:

Minimum price: $105,000.00
Maximum price: $1,024,800.00
Mean price: $454,342.94
Median price $438,900.00
Standard deviation of prices: $165,171.13
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;1---&#29305;&#24449;&#35266;&#23519;">&#38382;&#39064;1 - &#29305;&#24449;&#35266;&#23519;<a class="anchor-link" href="#&#38382;&#39064;1---&#29305;&#24449;&#35266;&#23519;">&#182;</a></h3><p>如前文所述，本项目中我们关注的是其中三个值:<code>'RM'</code>、<code>'LSTAT'</code> 和<code>'PTRATIO'</code>，对每一个数据点:</p>
<ul>
<li><code>'RM'</code> 是该地区中每个房屋的平均房间数量；</li>
<li><code>'LSTAT'</code> 是指该地区有多少百分比的房东属于是低收入阶层（有工作但收入微薄）；</li>
<li><code>'PTRATIO'</code> 是该地区的中学和小学里，学生和老师的数目比（<code>学生/老师</code>）。</li>
</ul>
<p><em>凭直觉，上述三个特征中对每一个来说，你认为增大该特征的数值，<code>'MEDV'</code>的值会是<strong>增大</strong>还是<strong>减小</strong>呢？每一个答案都需要你给出理由。</em></p>
<p><strong>提示：</strong>你预期一个<code>'RM'</code> 值是6的房屋跟<code>'RM'</code> 值是7的房屋相比，价值更高还是更低呢？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>回答</strong></p>
<ol>
<li>'MEDV'与'RM'成正比，因为房屋的房间数量越多肯定价格越贵。</li>
<li>'MEDV'与'LSTAT'成反比，因为低收入人群越多，房价应该越低。</li>
<li>'MEDV'与'PTRATIO'成反比，因为学生/老师比越大，说明教育资源越紧缺，教育质量越堪忧，因此人们来这的欲望也越低，房价也就越低。</li>
</ol>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="&#24314;&#27169;">&#24314;&#27169;<a class="anchor-link" href="#&#24314;&#27169;">&#182;</a></h2><p>在项目的第二部分中，你需要了解必要的工具和技巧来让你的模型进行预测。用这些工具和技巧对每一个模型的表现做精确的衡量可以极大地增强你预测的信心。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32451;&#20064;&#65306;&#23450;&#20041;&#34913;&#37327;&#26631;&#20934;">&#32451;&#20064;&#65306;&#23450;&#20041;&#34913;&#37327;&#26631;&#20934;<a class="anchor-link" href="#&#32451;&#20064;&#65306;&#23450;&#20041;&#34913;&#37327;&#26631;&#20934;">&#182;</a></h3><p>如果不能对模型的训练和测试的表现进行量化地评估，我们就很难衡量模型的好坏。通常我们会定义一些衡量标准，这些标准可以通过对某些误差或者拟合程度的计算来得到。在这个项目中，你将通过运算<a href="http://stattrek.com/statistics/dictionary.aspx?definition=coefficient_of_determination"><em>决定系数</em></a> R<sup>2</sup> 来量化模型的表现。模型的决定系数是回归分析中十分常用的统计信息，经常被当作衡量模型预测能力好坏的标准。</p>
<p>R<sup>2</sup>的数值范围从0至1，表示<strong>目标变量</strong>的预测值和实际值之间的相关程度平方的百分比。一个模型的R<sup>2</sup> 值为0还不如直接用<strong>平均值</strong>来预测效果好；而一个R<sup>2</sup> 值为1的模型则可以对目标变量进行完美的预测。从0至1之间的数值，则表示该模型中目标变量中有百分之多少能够用<strong>特征</strong>来解释。<em>模型也可能出现负值的R<sup>2</sup>，这种情况下模型所做预测有时会比直接计算目标变量的平均值差很多。</em></p>
<p>在下方代码的 <code>performance_metric</code> 函数中，你要实现：</p>
<ul>
<li>使用 <code>sklearn.metrics</code> 中的 <code>r2_score</code> 来计算 <code>y_true</code> 和 <code>y_predict</code>的R<sup>2</sup>值，作为对其表现的评判。</li>
<li>将他们的表现评分储存到<code>score</code>变量中。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">r2_score</span>

<span class="k">def</span> <span class="nf">performance_metric</span><span class="p">(</span><span class="n">y_true</span><span class="p">,</span> <span class="n">y_predict</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; Calculates and returns the performance score between </span>
<span class="sd">        true and predicted values based on the metric chosen. &quot;&quot;&quot;</span>
    
    <span class="c1"># TODO: Calculate the performance score between &#39;y_true&#39; and &#39;y_predict&#39;</span>
    <span class="n">score</span> <span class="o">=</span> <span class="n">r2_score</span><span class="p">(</span><span class="n">y_true</span><span class="p">,</span> <span class="n">y_predict</span><span class="p">)</span>
    
    <span class="c1"># Return the score</span>
    <span class="k">return</span> <span class="n">score</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;2---&#25311;&#21512;&#31243;&#24230;">&#38382;&#39064;2 - &#25311;&#21512;&#31243;&#24230;<a class="anchor-link" href="#&#38382;&#39064;2---&#25311;&#21512;&#31243;&#24230;">&#182;</a></h3><p>假设一个数据集有五个数据且一个模型做出下列目标变量的预测：</p>
<table>
<thead><tr>
<th style="text-align:center">真实数值</th>
<th style="text-align:center">预测数值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">3.0</td>
<td style="text-align:center">2.5</td>
</tr>
<tr>
<td style="text-align:center">-0.5</td>
<td style="text-align:center">0.0</td>
</tr>
<tr>
<td style="text-align:center">2.0</td>
<td style="text-align:center">2.1</td>
</tr>
<tr>
<td style="text-align:center">7.0</td>
<td style="text-align:center">7.8</td>
</tr>
<tr>
<td style="text-align:center">4.2</td>
<td style="text-align:center">5.3</td>
</tr>
</tbody>
</table>
<p><em>你会觉得这个模型已成功地描述了目标变量的变化吗？如果成功，请解释为什么，如果没有，也请给出原因。</em></p>
<p>运行下方的代码，使用<code>performance_metric</code>函数来计算模型的决定系数。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Calculate the performance of this model</span>
<span class="n">test_id</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span>
<span class="n">test_true</span> <span class="o">=</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.5</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mf">4.2</span><span class="p">]</span>
<span class="n">test_predict</span> <span class="o">=</span> <span class="p">[</span><span class="mf">2.5</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span> <span class="mf">2.1</span><span class="p">,</span> <span class="mf">7.8</span><span class="p">,</span> <span class="mf">5.3</span><span class="p">]</span>
<span class="n">score</span> <span class="o">=</span> <span class="n">performance_metric</span><span class="p">(</span><span class="n">test_true</span><span class="p">,</span> <span class="n">test_predict</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;Model has a coefficient of determination, R^2, of {:.3f}.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">score</span><span class="p">)</span>

<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">test_id</span><span class="p">,</span> <span class="n">test_true</span><span class="p">,</span> <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;o&#39;</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">&#39;true&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">test_id</span><span class="p">,</span> <span class="n">test_predict</span><span class="p">,</span> <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;x&#39;</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s1">&#39;predict&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Model has a coefficient of determination, R^2, of 0.923.
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>回答</strong>:</p>
<ul>
<li>由于$R^2=0.923$，可以知道模型拟合的比较好，也就是说模型可以解释92.3%的真实值。</li>
<li>另一方面，通过画图对比两个数据集的分布趋势（如上图所示），可以看到预测点基本上都在真实值附近，因此该模型拟合的挺好的。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32451;&#20064;:-&#25968;&#25454;&#20998;&#21106;&#19982;&#37325;&#25490;">&#32451;&#20064;: &#25968;&#25454;&#20998;&#21106;&#19982;&#37325;&#25490;<a class="anchor-link" href="#&#32451;&#20064;:-&#25968;&#25454;&#20998;&#21106;&#19982;&#37325;&#25490;">&#182;</a></h3><p>接下来，你需要把波士顿房屋数据集分成训练和测试两个子集。通常在这个过程中，数据也会被重新排序，以消除数据集中由于排序而产生的偏差。
在下面的代码中，你需要：</p>
<ul>
<li>使用 <code>sklearn.model_selection</code> 中的 <code>train_test_split</code>， 将<code>features</code>和<code>prices</code>的数据都分成用于训练的数据子集和用于测试的数据子集。<ul>
<li>分割比例为：80%的数据用于训练，20%用于测试；</li>
<li>选定一个数值以设定 <code>train_test_split</code> 中的 <code>random_state</code> ，这会确保结果的一致性；</li>
</ul>
</li>
<li>最终分离出的子集为<code>X_train</code>,<code>X_test</code>,<code>y_train</code>,和<code>y_test</code>。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[11]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">train_test_split</span>


<span class="c1"># TODO: Shuffle and split the data into training and testing subsets</span>
<span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="n">train_test_split</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">train_size</span> <span class="o">=</span> <span class="mf">0.8</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>

<span class="k">print</span> <span class="s2">&quot;X_total: &quot;</span><span class="p">,</span> <span class="n">features</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="s2">&quot;y_total: &quot;</span><span class="p">,</span> <span class="n">prices</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="s2">&quot;X_train: &quot;</span><span class="p">,</span> <span class="n">X_train</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="s2">&quot;X_test: &quot;</span><span class="p">,</span> <span class="n">X_test</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="s2">&quot;y_train: &quot;</span><span class="p">,</span> <span class="n">y_train</span><span class="o">.</span><span class="n">shape</span>
<span class="k">print</span> <span class="s2">&quot;y_test: &quot;</span><span class="p">,</span> <span class="n">y_test</span><span class="o">.</span><span class="n">shape</span>
<span class="c1"># Success</span>
<span class="k">print</span> <span class="s2">&quot;Training and testing split was successful.&quot;</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>X_total:  (489, 3)
y_total:  (489L,)
X_train:  (391, 3)
X_test:  (98, 3)
y_train:  (391L,)
y_test:  (98L,)
Training and testing split was successful.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-3--&#35757;&#32451;&#21450;&#27979;&#35797;">&#38382;&#39064; 3- &#35757;&#32451;&#21450;&#27979;&#35797;<a class="anchor-link" href="#&#38382;&#39064;-3--&#35757;&#32451;&#21450;&#27979;&#35797;">&#182;</a></h3><p><em>将数据集按一定比例分为训练用的数据集和测试用的数据集对学习算法有什么好处？</em></p>
<p><strong>提示：</strong> 如果没有数据来对模型进行测试，会出现什么问题？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: </strong> 不考虑交叉验证中用到的验证数据集，有以下结论：</p>
<ul>
<li><strong>训练数据集</strong>用来建立和完善模型。模型的训练误差可以指示模型是否欠拟合，如果模型的训练误差很大，就说明模型过于简单，连该学的特征和关系还没有学会。</li>
<li><strong>测试数据集</strong>则主要用来评估模型。模型针对测试数据集的误差可以指示模型是否过拟合，如果模型的训练误差极小，但测试数据集的误差较大，就说明模型过于复杂，把不应该学的也学了。</li>
<li>模型存在的根本目的，是为了预测未来的未知数据集。但是由于我们不可能未卜先知，因此我们不可能用未知的数据集来评估模型，我们只能使用已知且尚未用于训练模型的数据集（即测试数据）来评估模型，并用<strong>测试数据的误差</strong>来近似未知数据集的<strong>泛化误差</strong>。</li>
</ul>
<p>综上所述，如果模型未经测试，将不知道模型的泛化能力如何（有可能已经过拟合）。</p>
<p>将数据集拆分为训练用和测试用可以确保训练和测试是完全独立的，即测试数据完全没有参与建立模型的过程，这样模型在测试集下的性能才是客观的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<h2 id="&#20998;&#26512;&#27169;&#22411;&#30340;&#34920;&#29616;">&#20998;&#26512;&#27169;&#22411;&#30340;&#34920;&#29616;<a class="anchor-link" href="#&#20998;&#26512;&#27169;&#22411;&#30340;&#34920;&#29616;">&#182;</a></h2><p>在项目的第三部分，我们来看一下几个模型针对不同的数据集在学习和测试上的表现。另外，你需要专注于一个特定的算法，用全部训练集训练时，提高它的<code>'max_depth'</code> 参数，观察这一参数的变化如何影响模型的表现。把你模型的表现画出来对于分析过程十分有益。可视化可以让我们看到一些单看结果看不到的行为。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#23398;&#20064;&#26354;&#32447;">&#23398;&#20064;&#26354;&#32447;<a class="anchor-link" href="#&#23398;&#20064;&#26354;&#32447;">&#182;</a></h3><p>下方区域内的代码会输出四幅图像，它们是一个决策树模型在不同最大深度下的表现。每一条曲线都直观的显示了随着训练数据量的增加，模型学习曲线的训练评分和测试评分的变化。注意，曲线的阴影区域代表的是该曲线的不确定性（用标准差衡量）。这个模型的训练和测试部分都使用决定系数R<sup>2</sup>来评分。</p>
<p>运行下方区域中的代码，并利用输出的图形回答下面的问题。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[159]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Produce learning curves for varying training set sizes and maximum depths</span>
<span class="n">vs</span><span class="o">.</span><span class="n">ModelLearning</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-4---&#23398;&#20064;&#25968;&#25454;">&#38382;&#39064; 4 - &#23398;&#20064;&#25968;&#25454;<a class="anchor-link" href="#&#38382;&#39064;-4---&#23398;&#20064;&#25968;&#25454;">&#182;</a></h3><p><em>选择上述图像中的其中一个，并给出其最大深度。随着训练数据量的增加，训练曲线的评分有怎样的变化？测试曲线呢？如果有更多的训练数据，是否能有效提升模型的表现呢？</em>
<strong>提示：</strong>学习曲线的评分是否最终会收敛到特定的值？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: </strong></p>
<ul>
<li>对于<code>max_depth = 3</code>的图，随着训练数据量的增加，训练曲线的评分从1逐渐趋近于0.8，测试曲线也从0逐渐趋近于0.8。似乎即使有更多的数据，也不能让这两个分数有太大变化了，因为收敛值就是0.8左右，意思就是这个深度的决策树只能达到这个水平了。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#22797;&#26434;&#24230;&#26354;&#32447;">&#22797;&#26434;&#24230;&#26354;&#32447;<a class="anchor-link" href="#&#22797;&#26434;&#24230;&#26354;&#32447;">&#182;</a></h3><p>下列代码内的区域会输出一幅图像，它展示了一个已经经过训练和验证的决策树模型在不同最大深度条件下的表现。这个图形将包含两条曲线，一个是训练的变化，一个是测试的变化。跟<strong>学习曲线</strong>相似，阴影区域代表该曲线的不确定性，模型训练和测试部分的评分都用的 <code>performance_metric</code> 函数。</p>
<p>运行下方区域中的代码，并利用输出的图形并回答下面的两个问题。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[160]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">vs</span><span class="o">.</span><span class="n">ModelComplexity</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
gg==
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-5--&#20559;&#24046;&#19982;&#26041;&#24046;&#20043;&#38388;&#30340;&#26435;&#34913;&#21462;&#33293;">&#38382;&#39064; 5- &#20559;&#24046;&#19982;&#26041;&#24046;&#20043;&#38388;&#30340;&#26435;&#34913;&#21462;&#33293;<a class="anchor-link" href="#&#38382;&#39064;-5--&#20559;&#24046;&#19982;&#26041;&#24046;&#20043;&#38388;&#30340;&#26435;&#34913;&#21462;&#33293;">&#182;</a></h3><p><em>当模型以最大深度 1训练时，模型的预测是出现很大的偏差还是出现了很大的方差？当模型以最大深度10训练时，情形又如何呢？图形中的哪些特征能够支持你的结论？</em></p>
<p><strong>提示：</strong> 你如何得知模型是否出现了偏差很大或者方差很大的问题？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: </strong></p>
<ul>
<li>模型以最大深度1训练时，训练的分数和测试的分数都在0.4左右。训练的分数低，说明模型过于简单，该学的还学的不够，所以是偏差大（bias）。</li>
<li>模型以最大深度10训练时，训练分数已经接近满分，但是测试分数相对最大深度9的分数有所下降，变成了0.7。训练分数极好但测试分数不尽人意，说明模型过于复杂，学的太多了，把训练样本里不该学的东西也学了，逐渐失去了泛化能力，因此测试样本分就低了，所以是方差大（variance）。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-6--&#26368;&#20248;&#27169;&#22411;&#30340;&#29468;&#27979;">&#38382;&#39064; 6- &#26368;&#20248;&#27169;&#22411;&#30340;&#29468;&#27979;<a class="anchor-link" href="#&#38382;&#39064;-6--&#26368;&#20248;&#27169;&#22411;&#30340;&#29468;&#27979;">&#182;</a></h3><p><em>你认为最大深度是多少的模型能够最好地对未见过的数据进行预测？你得出这个答案的依据是什么？</em></p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="&#31572;&#26696;:-"><strong>&#31572;&#26696;: </strong><a class="anchor-link" href="#&#31572;&#26696;:-">&#182;</a></h4><p>从图中看应该是<code>max_depth = 4</code>的模型。此时的验证集的分数达到最高，再大的话分数就开始逐渐降低。因此这个深度的模型最好。</p>
<p>后来把整体代码全单独择出来在PyCharm里跑了几次，发现有小概率会出现最优解返回为5的情况，这取决于对数据集划分后数据集的分布情况。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<h2 id="&#35780;&#20215;&#27169;&#22411;&#34920;&#29616;">&#35780;&#20215;&#27169;&#22411;&#34920;&#29616;<a class="anchor-link" href="#&#35780;&#20215;&#27169;&#22411;&#34920;&#29616;">&#182;</a></h2><p>在这个项目的最后，你将自己建立模型，并使用最优化的<code>fit_model</code>函数，基于客户房子的特征来预测该房屋的价值。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-7--&#32593;&#26684;&#25628;&#32034;&#65288;Grid-Search&#65289;">&#38382;&#39064; 7- &#32593;&#26684;&#25628;&#32034;&#65288;Grid Search&#65289;<a class="anchor-link" href="#&#38382;&#39064;-7--&#32593;&#26684;&#25628;&#32034;&#65288;Grid-Search&#65289;">&#182;</a></h3><p><em>什么是网格搜索法？如何用它来优化学习算法？</em></p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>回答: </strong>
网格搜索本质上是利用<strong>穷举的思想</strong>尝试不同的参数组合来确定最优模型。不过具体到实现上，网格搜索并不是完全的穷举（那样运算量太大了），而是：</p>
<ul>
<li>Step #1：让用户直接指明要搜索哪几个参数，并限定这些个参数要搜索的取值范围（这里的参数指的是<strong>模型自身的参数</strong>，而不是训练数据的特征参数，对于决策树来说主要是树的深度，对于神经网络来说主要是隐藏层数等），这样网格搜索就可以根据这些信息构造出来一个搜索空间（本质上是这些参数取值的排列组合，每个组合都对应一个模型）。</li>
</ul>
<ul>
<li>Step #2：然后再用训练数据集来跑这些模型，选出训练出来的模型中评分最好的作为最终模型。其中这里所说的评分对于分类模型可能是F1 Score，对于回归模型可能是$R^2$。这种“训练很多模型然后挑选最优模型的过程”，就是模型参数本身的调优过程，由于本质上这是寻找参数分布规律（即参数的参数）的操作，因此也被称为超参数搜索（Hyper-parameter Search）。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-8--&#20132;&#21449;&#39564;&#35777;">&#38382;&#39064; 8- &#20132;&#21449;&#39564;&#35777;<a class="anchor-link" href="#&#38382;&#39064;-8--&#20132;&#21449;&#39564;&#35777;">&#182;</a></h3><p><em>什么是K折交叉验证法（k-fold cross-validation）？优化模型时，使用这种方法对网格搜索有什么好处？网格搜索是如何结合交叉验证来完成对最佳参数组合的选择的？</em></p>
<p><strong>提示：</strong> 跟为何需要一组测试集的原因差不多，网格搜索时如果不使用交叉验证会有什么问题？GridSearchCV中的<a href="http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html"><code>'cv_results'</code></a>属性能告诉我们什么？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: 三个问题，依次回答如下。</strong></p>
<hr>
<p><strong>问：什么是K折交叉验证法（k-fold cross-validation）？</strong></p>
<ul>
<li>答：在解释K折交叉验证法之前，首先让我们来看看没有交叉验证法是什么样的。在没有交叉验证的时候，机器学习的数据集只分为训练集和测试集。用训练集训练出来的模型就已经是最终模型了，再把测试集放到我们的模型中跑来评估模型的泛化性能。要特别注意的是，这时候不管测试出来的结果好与坏，都已经成定局了，我们不能再用测试集来修正模型，那样就是作弊了，一方面违反了测试集不能参与模型构建和训练的规定，一方面手头再也没有模型没用过的数据了。此时的测试集也就变相成为训练集，得出的性能评分只能评估bias不能评估variance，即使模型出现过拟合也意识不到。<strong>那么如何做到既不动测试集，又能够评估模型的泛化性能呢？</strong>为了避免上面这种没有回旋余地的窘境，解决方案就是我们把原训练集<code>Train</code>进一步拆分为<code>Train'</code>和<code>Validation</code>（即新训练集和验证集），其中验证集用来评估模型的泛化能力。这样，我们就成功做到在未使用测试集的前提下对模型的bias（用训练集）和variance（用验证集）进行评估。</li>
</ul>

<pre><code>
┌────────────────────────────────────┬────────────┐
│                Train               │    Test    │
└────────────────────────────────────┴────────────┘
↑                                    ↑
┌───────────────────────┬────────────┐
│         Train'        │ Validation │
└───────────────────────┴────────────┘
                        Pretend As Test</code></pre>
<p>而<strong>K折交叉验证法</strong>就是在此基础上，将原训练集进一步等分为K段互斥子集，构造K套不同的训练集+验证集组合，其中每个组合依次使用K段中的1段作为验证集，剩下K-1段作为训练集。然后将模型用这K套数据集进行训练/评估，最后将这K次训练后用相应验证集评估得到的K个性能分数求平均作为模型的整体性能。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<p><strong>问：优化模型时，使用K折交叉验证法对网格搜索有什么好处？</strong></p>
<ul>
<li>答：假设我们不用网格搜索 + K-Fold CV，而是直接用网格搜索 + Hold-out，可能会导致网格搜索得到的所谓“最优模型”并不是真正的最优模型，而如果用了K-Fold CV就可以减少这种可能性。这背后的原因在于数据集的分布和划分。<strong>机器学习所用的数据集有以下2个大前提：</strong></li>
</ul>
<ul>
<li><p><strong>数据集本身能够代表真实世界中事物的趋势和分布</strong>。具体可以细分为两个维度：</p>
<ul>
<li><p><strong>纵向（时间维）</strong>：比如波士顿房价数据集，只能反应数据集采集的那个年代波士顿的房价，用于预测现在的波士顿肯定不现实。因为它不能代表当前波士顿房价的趋势和分布特性。</p>
</li>
<li><p><strong>横向（特征维）</strong>：数据集所提供的特征应该尽可能的全面。真实世界中，影响一个事物发展趋势的因素是相当复杂和多样的，如果数据集包含的特征过少，那么无论你怎么训练，都不可能进行准确的预测，因为忽略了一些重要因素。</p>
</li>
</ul>
</li>
</ul>
<ul>
<li><strong>数据集内训练集和验证集的划分应尽可能保证独立同分布（I.I.D）</strong>。如果两者分布是一致的，那么网格搜索出的最优解就是真的最优解。如果两者的分布差别很大，比如训练集中A特征特别重要，但验证集中B特征特别重要，那么即使用网格搜索得到的“最优解”性能可能也很差，原因是它训练出来的模型只能用于预测<strong>符合训练集统计特征的数据</strong>，用在验证集上就不好使了，因此并不是针对整体数据集来说的最优解。K-Fold CV通过多次尝试求平均从统计角度上规避了这种情况的出现，搭配网格搜索，可以确保网格搜索的解是真的最优解。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<p><strong>问：网格搜索是如何结合交叉验证来完成对最佳参数组合的选择的？</strong></p>
<ul>
<li>答：网格搜索负责hold住模型这边的参数调优，交叉验证负责hold住数据集这边确保分布平均打分。两者嵌套在一起，完成最佳参数组合的选择。（见下面我简单写的伪代码）</li>
</ul>

<pre><code>伪代码：

1. 准备网格搜索：给网格搜索指明要搜索的参数和参数取值区间，假设一共有&lt;M&gt;种排列组合。

2. 准备数据集：将数据集用K-Fold CV划分成&lt;K&gt;套训练集+验证集。

3. for 模型参数组合i in range(M)：

      for 训练集j in range(K)：

          训练模型

          用验证集j对模型评分存入score[j]

      end

      将score数组的平均值存入mean_score[i]

   end

4. 选择mean_score最大的模型参数组合作为最终模型。</code></pre>
<hr>
<p><code>cv_results_</code>不仅包含用户配置的搜索空间，也包含通过网格搜索加K-Fold得到的所有结论，包括各个split的训练得分和测试得分等等。</p>
<p>以下面代码为例，可以看到sklearn中的网格搜索模型是如何具体构造出来的：</p>

<pre><code>grid = GridSearchCV(estimator=regressor, param_grid=params, scoring=scoring_fnc, cv=cv_sets)</code></pre>
<ul>
<li><code>estimator</code> 要用的机器学习模型对象：这里实际上用的还是决策树。</li>
<li><code>param_grid</code> 参数网格词典：用户需要提供他认为对该模型调优很重要的参数以及可能的取值（潜在的最优参数区间），这样就限定了网格搜索只在一个有限的空间内搜索，不会太耗费时间。词典的每一个键值对都是一个参与搜索的参数维度。键值对的键表示这个参数的名称，在这里用的是是决策树的深度。键值对的值是这个参数所需要搜索的取值列表，这里选择的要尝试的范围是1到10。参数的具体取值可以通过先画学习曲线来确定下大致的取值范围。</li>
<li><code>scoring</code> 评分机制：指定评价模型好坏的评估参数，这里用的实际上就是$R^2$。</li>
<li><code>cv</code> 交叉验证集：给出用来训练和验证用的数据集。这里使用了ShuffleSplit将原数据的训练集构造成为训练集和验证集。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32451;&#20064;&#65306;&#35757;&#32451;&#27169;&#22411;">&#32451;&#20064;&#65306;&#35757;&#32451;&#27169;&#22411;<a class="anchor-link" href="#&#32451;&#20064;&#65306;&#35757;&#32451;&#27169;&#22411;">&#182;</a></h3><p>在最后一个练习中，你将需要将所学到的内容整合，使用<strong>决策树演算法</strong>训练一个模型。为了保证你得出的是一个最优模型，你需要使用网格搜索法训练模型，以找到最佳的 <code>'max_depth'</code> 参数。你可以把<code>'max_depth'</code> 参数理解为决策树算法在做出预测前，允许其对数据提出问题的数量。决策树是<strong>监督学习算法</strong>中的一种。</p>
<p>此外，你会发现你的实现使用的是 <code>ShuffleSplit()</code> 。它也是交叉验证的一种方式（见变量 <code>'cv_sets'</code>）。虽然这不是<strong>问题8</strong>中描述的 K-Fold 交叉验证，这个教程验证方法也很有用！这里 <code>ShuffleSplit()</code> 会创造10个(<code>'n_splits'</code>)混洗过的集合，每个集合中20%(<code>'test_size'</code>)的数据会被用作<strong>验证集</strong>。当你在实现的时候，想一想这跟 K-Fold 交叉验证有哪些相同点，哪些不同点？</p>
<p>在下方 <code>fit_model</code> 函数中，你需要做的是：</p>
<ul>
<li>使用  <code>sklearn.tree</code> 中的 <a href="http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html"><code>DecisionTreeRegressor</code></a> 创建一个决策树的回归函数；<ul>
<li>将这个回归函数储存到 <code>'regressor'</code> 变量中；</li>
</ul>
</li>
<li>为 <code>'max_depth'</code> 创造一个字典，它的值是从1至10的数组，并储存到 <code>'params'</code> 变量中；</li>
<li>使用 <code>sklearn.metrics</code> 中的 <a href="http://scikit-learn.org/stable/modules/generated/sklearn.metrics.make_scorer.html"><code>make_scorer</code></a>  创建一个评分函数；<ul>
<li>将 <code>performance_metric</code> 作为参数传至这个函数中；</li>
<li>将评分函数储存到 <code>'scoring_fnc'</code> 变量中；</li>
</ul>
</li>
<li>使用 <code>sklearn.model_selection</code> 中的 <a href="http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html"><code>GridSearchCV</code></a> 创建一个网格搜索对象；<ul>
<li>将变量<code>'regressor'</code>, <code>'params'</code>, <code>'scoring_fnc'</code>, 和 <code>'cv_sets'</code> 作为参数传至这个对象中；</li>
<li>将 <code>GridSearchCV</code> 存到 <code>'grid'</code> 变量中。</li>
</ul>
</li>
</ul>
<p>如果有同学对python函数如何传递多个参数不熟悉，可以参考这个MIT课程的<a href="http://cn-static.udacity.com/mlnd/videos/MIT600XXT114-V004200_DTH.mp4">视频</a>。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[12]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># TODO: Import &#39;make_scorer&#39;, &#39;DecisionTreeRegressor&#39;, and &#39;GridSearchCV&#39;</span>
<span class="kn">from</span> <span class="nn">sklearn.tree</span> <span class="kn">import</span> <span class="n">DecisionTreeRegressor</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">make_scorer</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">GridSearchCV</span>

<span class="k">def</span> <span class="nf">fit_model</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
    <span class="sd">&quot;&quot;&quot; Performs grid search over the &#39;max_depth&#39; parameter for a </span>
<span class="sd">        decision tree regressor trained on the input data [X, y]. &quot;&quot;&quot;</span>
    
    <span class="c1"># Create cross-validation sets from the training data</span>
    <span class="n">cv_sets</span> <span class="o">=</span> <span class="n">ShuffleSplit</span><span class="p">(</span><span class="n">n_splits</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">test_size</span> <span class="o">=</span> <span class="mf">0.2</span><span class="p">,</span> <span class="n">random_state</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span>

    <span class="c1"># TODO: Create a decision tree regressor object</span>
    <span class="n">regressor</span> <span class="o">=</span> <span class="n">DecisionTreeRegressor</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>

    <span class="c1"># TODO: Create a dictionary for the parameter &#39;max_depth&#39; with a range from 1 to 10</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;max_depth&#39;</span> <span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)}</span>

    <span class="c1"># TODO: Transform &#39;performance_metric&#39; into a scoring function using &#39;make_scorer&#39; </span>
    <span class="n">scoring_fnc</span> <span class="o">=</span> <span class="n">make_scorer</span><span class="p">(</span><span class="n">performance_metric</span><span class="p">)</span>

    <span class="c1"># 注意一定要Shift+Tab查看函数签名，特别是对于这种参数巨多而且全带默认值的函数，不指明参数名就赋值很容易出奇怪的错误。</span>
    <span class="c1"># 如果最后一个参数不写成`cv=cv_sets`，那么会被识别成fit_params这个参数，导致报一堆错。</span>
    <span class="n">grid</span> <span class="o">=</span> <span class="n">GridSearchCV</span><span class="p">(</span><span class="n">regressor</span><span class="p">,</span> <span class="n">params</span><span class="p">,</span> <span class="n">scoring_fnc</span><span class="p">,</span> <span class="n">cv</span><span class="o">=</span><span class="n">cv_sets</span><span class="p">)</span>

    <span class="c1"># Fit the grid search object to the data to compute the optimal model</span>
    <span class="n">grid</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>

    <span class="c1"># Return the optimal model after fitting the data</span>
    <span class="k">return</span> <span class="n">grid</span><span class="o">.</span><span class="n">best_estimator_</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#20570;&#20986;&#39044;&#27979;">&#20570;&#20986;&#39044;&#27979;<a class="anchor-link" href="#&#20570;&#20986;&#39044;&#27979;">&#182;</a></h3><p>当我们用数据训练出一个模型，它现在就可用于对新的数据进行预测。在决策树回归函数中，模型已经学会对新输入的数据<em>提问</em>，并返回对<strong>目标变量</strong>的预测值。你可以用这个预测来获取数据未知目标变量的信息，这些数据必须是不包含在训练数据之内的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-9--&#26368;&#20248;&#27169;&#22411;">&#38382;&#39064; 9- &#26368;&#20248;&#27169;&#22411;<a class="anchor-link" href="#&#38382;&#39064;-9--&#26368;&#20248;&#27169;&#22411;">&#182;</a></h3><p><em>最优模型的最大深度（maximum depth）是多少？此答案与你在<strong>问题 6</strong>所做的猜测是否相同？</em></p>
<p>运行下方区域内的代码，将决策树回归函数代入训练数据的集合，以得到最优化的模型。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[13]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Fit the training data to the model using grid search</span>
<span class="n">reg</span> <span class="o">=</span> <span class="n">fit_model</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">)</span>

<span class="c1"># Produce the value for &#39;max_depth&#39;</span>
<span class="k">print</span> <span class="s2">&quot;Parameter &#39;max_depth&#39; is {} for the optimal model.&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">reg</span><span class="o">.</span><span class="n">get_params</span><span class="p">()[</span><span class="s1">&#39;max_depth&#39;</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Parameter &#39;max_depth&#39; is 4 for the optimal model.
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>Answer: 最优模型的最大深度是4，和图上看的基本上接近。</strong></p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-10---&#39044;&#27979;&#38144;&#21806;&#20215;&#26684;">&#38382;&#39064; 10 - &#39044;&#27979;&#38144;&#21806;&#20215;&#26684;<a class="anchor-link" href="#&#38382;&#39064;-10---&#39044;&#27979;&#38144;&#21806;&#20215;&#26684;">&#182;</a></h3><p>想像你是一个在波士顿地区的房屋经纪人，并期待使用此模型以帮助你的客户评估他们想出售的房屋。你已经从你的三个客户收集到以下的资讯:</p>
<table>
<thead><tr>
<th style="text-align:center">特征</th>
<th style="text-align:center">客戶 1</th>
<th style="text-align:center">客戶 2</th>
<th style="text-align:center">客戶 3</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">房屋内房间总数</td>
<td style="text-align:center">5 间房间</td>
<td style="text-align:center">4 间房间</td>
<td style="text-align:center">8 间房间</td>
</tr>
<tr>
<td style="text-align:center">社区贫困指数（％被认为是贫困阶层）</td>
<td style="text-align:center">17%</td>
<td style="text-align:center">32%</td>
<td style="text-align:center">3%</td>
</tr>
<tr>
<td style="text-align:center">邻近学校的学生-老师比例</td>
<td style="text-align:center">15：1</td>
<td style="text-align:center">22：1</td>
<td style="text-align:center">12：1</td>
</tr>
</tbody>
</table>
<p><em>你会建议每位客户的房屋销售的价格为多少？从房屋特征的数值判断，这样的价格合理吗？</em></p>
<p><strong>提示：</strong>用你在<strong>分析数据</strong>部分计算出来的统计信息来帮助你证明你的答案。</p>
<p>运行下列的代码区域，使用你优化的模型来为每位客户的房屋价值做出预测。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[14]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Produce a matrix for client data</span>
<span class="n">client_data</span> <span class="o">=</span> <span class="p">[[</span><span class="mi">5</span><span class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span class="mi">15</span><span class="p">],</span> <span class="c1"># Client 1</span>
               <span class="p">[</span><span class="mi">4</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">22</span><span class="p">],</span> <span class="c1"># Client 2</span>
               <span class="p">[</span><span class="mi">8</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">12</span><span class="p">]]</span>  <span class="c1"># Client 3</span>

<span class="c1"># Show predictions</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">price</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">reg</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">client_data</span><span class="p">)):</span>
    <span class="k">print</span> <span class="s2">&quot;Predicted selling price for Client {}&#39;s home: ${:,.2f}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">price</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Predicted selling price for Client 1&#39;s home: $408,800.00
Predicted selling price for Client 2&#39;s home: $231,253.45
Predicted selling price for Client 3&#39;s home: $938,053.85
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: </strong>
建议销售价：</p>

<pre><code>- Client A: $408,800
- Client B: $231,253
- Client C: $938,053</code></pre>
<p>价格挺合理的。</p>
<ul>
<li><p>首先可以将结果与一开始得到的所有房价数据的统计信息对比如下，可见房价的区间为105000至1024800，三个客户的建议价格都在这个取值区间内。</p>

<pre><code>Minimum price: $105,000.00
Maximum price: $1,024,800.00
Mean price: $454,342.94
Median price $438,900.00
Standard deviation of prices: $165,171.13</code></pre>
</li>
<li><p>然后可以有针对性的看每个顾客的房型对应的房价数据的分布</p>
</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[18]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Client A has Room == 4 由于相应样本较少，可以同时看一下原始数据及房价的统计数据</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">data</span><span class="p">[(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">3.5</span><span class="p">)</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">4.5</span><span class="p">)]</span>
<span class="k">print</span> <span class="n">a</span><span class="o">.</span><span class="n">MEDV</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
<span class="n">a</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>count         5.000000
mean     357420.000000
std      166334.052437
min      184800.000000
25%      249900.000000
50%      289800.000000
75%      485100.000000
max      577500.000000
Name: MEDV, dtype: float64
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt output_prompt">Out[18]:</div>


<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>RM</th>
      <th>LSTAT</th>
      <th>PTRATIO</th>
      <th>MEDV</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>353</th>
      <td>3.561</td>
      <td>7.12</td>
      <td>20.2</td>
      <td>577500.0</td>
    </tr>
    <tr>
      <th>355</th>
      <td>3.863</td>
      <td>13.33</td>
      <td>20.2</td>
      <td>485100.0</td>
    </tr>
    <tr>
      <th>357</th>
      <td>4.138</td>
      <td>37.97</td>
      <td>20.2</td>
      <td>289800.0</td>
    </tr>
    <tr>
      <th>367</th>
      <td>4.368</td>
      <td>30.63</td>
      <td>20.2</td>
      <td>184800.0</td>
    </tr>
    <tr>
      <th>389</th>
      <td>4.138</td>
      <td>23.34</td>
      <td>20.2</td>
      <td>249900.0</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到数据集中4间房左右的房价均值为35万，标准差为16万，考虑到另外两种特征的分布，因此Client A建议40万是合适的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Client B has Room == 5</span>
<span class="n">data</span><span class="p">[(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">4.5</span><span class="p">)</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">5.5</span><span class="p">)]</span><span class="o">.</span><span class="n">MEDV</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[10]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>count        36.000000
mean     293416.666667
std      101980.105903
min      105000.000000
25%      217350.000000
50%      296100.000000
75%      374325.000000
max      497700.000000
Name: MEDV, dtype: float64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到数据集中5间房左右的房价均值为29万，标准差为10万，考虑到另外两种特征的分布，因此Client B建议23万是合适的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[21]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Client C has Room == 9 由于样本较少，可以看一下8间房左右的房价统计数据</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">data</span><span class="p">[(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">8</span><span class="p">)</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;RM&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">)]</span>
<span class="k">print</span> <span class="n">c</span><span class="o">.</span><span class="n">MEDV</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
<span class="n">c</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>count    7.000000e+00
mean     9.081000e+05
std      9.151164e+04
min      7.896000e+05
25%      8.442000e+05
50%      8.988000e+05
75%      9.775500e+05
max      1.024800e+06
Name: MEDV, dtype: float64
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt output_prompt">Out[21]:</div>


<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>RM</th>
      <th>LSTAT</th>
      <th>PTRATIO</th>
      <th>MEDV</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>97</th>
      <td>8.069</td>
      <td>4.21</td>
      <td>18.0</td>
      <td>812700.0</td>
    </tr>
    <tr>
      <th>217</th>
      <td>8.266</td>
      <td>4.14</td>
      <td>17.4</td>
      <td>940800.0</td>
    </tr>
    <tr>
      <th>218</th>
      <td>8.040</td>
      <td>3.13</td>
      <td>17.4</td>
      <td>789600.0</td>
    </tr>
    <tr>
      <th>224</th>
      <td>8.337</td>
      <td>2.47</td>
      <td>17.4</td>
      <td>875700.0</td>
    </tr>
    <tr>
      <th>225</th>
      <td>8.247</td>
      <td>3.95</td>
      <td>17.4</td>
      <td>1014300.0</td>
    </tr>
    <tr>
      <th>245</th>
      <td>8.259</td>
      <td>3.54</td>
      <td>19.1</td>
      <td>898800.0</td>
    </tr>
    <tr>
      <th>253</th>
      <td>8.398</td>
      <td>5.91</td>
      <td>13.0</td>
      <td>1024800.0</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到数据集中8间房左右的房价均值为90万，标准差为9万，考虑到另外两种特征的分布，因此Client C建议93万是合适的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#65281;&#20063;&#21487;&#20197;&#20351;&#29992;KNN&#65288;K&#36817;&#37051;&#65289;&#26469;&#39564;&#35777;&#25151;&#20215;&#25968;&#25454;&#39044;&#27979;&#30340;&#38752;&#35889;&#31243;&#24230;">&#65281;&#20063;&#21487;&#20197;&#20351;&#29992;KNN&#65288;K&#36817;&#37051;&#65289;&#26469;&#39564;&#35777;&#25151;&#20215;&#25968;&#25454;&#39044;&#27979;&#30340;&#38752;&#35889;&#31243;&#24230;<a class="anchor-link" href="#&#65281;&#20063;&#21487;&#20197;&#20351;&#29992;KNN&#65288;K&#36817;&#37051;&#65289;&#26469;&#39564;&#35777;&#25151;&#20215;&#25968;&#25454;&#39044;&#27979;&#30340;&#38752;&#35889;&#31243;&#24230;">&#182;</a></h3><p>将Client的特征信息用于寻找最近的5个数据点，然后看看这几个点的房价和预测值的差距是否合理，就能知道大概拟合的怎么样了。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[49]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.neighbors</span> <span class="kn">import</span> <span class="n">NearestNeighbors</span>
<span class="n">nb</span> <span class="o">=</span> <span class="n">NearestNeighbors</span><span class="p">()</span>
<span class="n">nb</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X_train</span><span class="p">)</span>

<span class="c1"># Get the nearest 5 neighbors as reference</span>
<span class="n">candidates</span> <span class="o">=</span> <span class="n">nb</span><span class="o">.</span><span class="n">kneighbors</span><span class="p">([</span><span class="n">client_data</span><span class="p">[</span><span class="mi">0</span><span class="p">]],</span> <span class="n">n_neighbors</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">return_distance</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> 
<span class="k">print</span> <span class="n">candidates</span>
<span class="k">print</span> <span class="s2">&quot;以第一个Client为例，其各项特征值为：&quot;</span>
<span class="k">print</span> <span class="n">client_data</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="s2">&quot;房价预测 = 408800&quot;</span>
<span class="k">print</span> <span class="s2">&quot;KNN寻找到的最近训练数据点的各项特征值为：&quot;</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
    <span class="n">c</span> <span class="o">=</span> <span class="n">X_train</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">candidates</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">i</span><span class="p">]]</span>
    <span class="k">print</span> <span class="nb">float</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">RM</span><span class="p">),</span> <span class="nb">float</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">LSTAT</span><span class="p">),</span> <span class="nb">float</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">PTRATIO</span><span class="p">),</span> <span class="s2">&quot;房价预测 =&quot;</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">y_train</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">candidates</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">i</span><span class="p">]])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>[[101 168 382 232 381]]
以第一个Client为例，其各项特征值为：
[5, 17, 15] 房价预测 = 408800
KNN寻找到的最近训练数据点的各项特征值为：
5.628 16.65 14.7 房价预测 = 327600.0
5.272 16.14 14.7 房价预测 = 275100.0
6.004 17.1 15.2 房价预测 = 396900.0
5.79 15.84 16.0 房价预测 = 426300.0
5.951 17.92 16.4 房价预测 = 451500.0
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>注意由于之前的train_test_split已经将data的数据顺序重新采样打乱生成为X_train和y_train，因此这里面的存储顺序和主键顺序已经不再一致。所以使用KNN找到了最近五个训练数据点的编号是其存储顺序的编号，而不是主键。因此需要用iloc访问，而不是loc。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#25935;&#24863;&#24230;">&#25935;&#24863;&#24230;<a class="anchor-link" href="#&#25935;&#24863;&#24230;">&#182;</a></h3><p>一个最优的模型不一定是一个健壮模型。有的时候模型会过于复杂或者过于简单，以致于难以泛化新增添的数据；有的时候模型采用的学习算法并不适用于特定的数据结构；有的时候样本本身可能有太多噪点或样本过少，使得模型无法准确地预测目标变量。这些情况下我们会说模型是欠拟合的。执行下方区域中的代码，采用不同的训练和测试集执行 <code>fit_model</code> 函数10次。注意观察对一个特定的客户来说，预测是如何随训练数据的变化而变化的。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[164]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">vs</span><span class="o">.</span><span class="n">PredictTrials</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">fit_model</span><span class="p">,</span> <span class="n">client_data</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Trial 1: $391,183.33
Trial 2: $424,935.00
Trial 3: $415,800.00
Trial 4: $420,622.22
Trial 5: $418,377.27
Trial 6: $411,931.58
Trial 7: $399,663.16
Trial 8: $407,232.00
Trial 9: $351,577.61
Trial 10: $413,700.00

Range in prices: $73,357.39
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#38382;&#39064;-11---&#23454;&#29992;&#24615;&#25506;&#35752;">&#38382;&#39064; 11 - &#23454;&#29992;&#24615;&#25506;&#35752;<a class="anchor-link" href="#&#38382;&#39064;-11---&#23454;&#29992;&#24615;&#25506;&#35752;">&#182;</a></h3><p><em>简单地讨论一下你建构的模型能否在现实世界中使用？</em></p>
<p><strong>提示：</strong> 回答几个问题，并给出相应结论的理由：</p>
<ul>
<li><em>1978年所采集的数据，在今天是否仍然适用？</em></li>
<li><em>数据中呈现的特征是否足够描述一个房屋？</em></li>
<li><em>模型是否足够健壮来保证预测的一致性？</em></li>
<li><em>在波士顿这样的大都市采集的数据，能否应用在其它乡镇地区？</em></li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案: </strong></p>
<ul>
<li><p>问：1978年所采集的数据，在今天是否仍然适用？</p>
<p>答：可能有一定参考价值，但是随着时间的推移，影响房价的因素也在不断的变化，因此并不能完全适用。</p>
</li>
</ul>
<ul>
<li><p>问：数据中呈现的特征是否足够描述一个房屋？</p>
<p>答：应该可以有更多的特征来描述。比如房屋离各种交通枢纽的距离等等。</p>
</li>
</ul>
<ul>
<li><p>问：模型是否足够健壮来保证预测的一致性？</p>
<p>答：健壮性还可以吧。起码从上面10次预测的结果可以看到取值区间波动在7万美金、方差为2万美金左右，这对于40万美金左右的房子来说还可以吧。</p>
</li>
</ul>
<ul>
<li><p>问：在波士顿这样的大都市采集的数据，能否应用在其它乡镇地区？</p>
<p>答：恐怕不行。因为采集的数据很大程度与区域强相关，变了区域规律也就变了，因此模型也就不适用了。</p>
</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#21487;&#36873;&#38382;&#39064;---&#39044;&#27979;&#21271;&#20140;&#25151;&#20215;">&#21487;&#36873;&#38382;&#39064; - &#39044;&#27979;&#21271;&#20140;&#25151;&#20215;<a class="anchor-link" href="#&#21487;&#36873;&#38382;&#39064;---&#39044;&#27979;&#21271;&#20140;&#25151;&#20215;">&#182;</a></h3><p>（本题结果不影响项目是否通过）通过上面的实践，相信你对机器学习的一些常用概念有了很好的领悟和掌握。但利用70年代的波士顿房价数据进行建模的确对我们来说意义不是太大。现在你可以把你上面所学应用到北京房价数据集中<code>bj_housing.csv</code>。</p>
<p>免责声明：考虑到北京房价受到宏观经济、政策调整等众多因素的直接影响，预测结果仅供参考。</p>
<p>这个数据集的特征有：</p>
<ul>
<li>Area：房屋面积，平方米</li>
<li>Room：房间数，间</li>
<li>Living: 厅数，间</li>
<li>School: 是否为学区房，0或1</li>
<li>Year: 房屋建造时间，年</li>
<li>Floor: 房屋所处楼层，层</li>
</ul>
<p>目标变量：</p>
<ul>
<li>Value: 房屋人民币售价，万</li>
</ul>
<p>你可以参考上面学到的内容，拿这个数据集来练习数据分割与重排、定义衡量标准、训练模型、评价模型表现、使用网格搜索配合交叉验证对参数进行调优并选出最佳参数，比较两者的差别，最终得出最佳模型对验证集的预测分数。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[150]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># Beijing Housing Price Prediction Model</span>

<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">ShuffleSplit</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">train_test_split</span>
<span class="kn">from</span> <span class="nn">sklearn.model_selection</span> <span class="kn">import</span> <span class="n">GridSearchCV</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">r2_score</span>
<span class="kn">from</span> <span class="nn">sklearn.metrics</span> <span class="kn">import</span> <span class="n">make_scorer</span>
<span class="kn">from</span> <span class="nn">sklearn.tree</span> <span class="kn">import</span> <span class="n">DecisionTreeRegressor</span>


<span class="n">data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;bj_housing.csv&#39;</span><span class="p">)</span>
<span class="n">prices</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;Value&#39;</span><span class="p">]</span>
<span class="n">features</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;Value&#39;</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>    
<span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="n">train_test_split</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">train_size</span><span class="o">=</span><span class="mf">0.8</span><span class="p">)</span>

<span class="c1"># Train the model, and using GridSearch + K-Fold CV for model parameter tuning.</span>
<span class="k">def</span> <span class="nf">fit_model</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
    <span class="n">cv_sets</span> <span class="o">=</span> <span class="n">ShuffleSplit</span><span class="p">(</span><span class="n">n_splits</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">test_size</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
    <span class="n">regressor</span> <span class="o">=</span> <span class="n">DecisionTreeRegressor</span><span class="p">(</span><span class="n">random_state</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;max_depth&#39;</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)}</span>
    <span class="n">scoring_fnc</span> <span class="o">=</span> <span class="n">make_scorer</span><span class="p">(</span><span class="n">r2_score</span><span class="p">)</span>
    <span class="n">grid</span> <span class="o">=</span> <span class="n">GridSearchCV</span><span class="p">(</span><span class="n">estimator</span><span class="o">=</span><span class="n">regressor</span><span class="p">,</span> <span class="n">param_grid</span><span class="o">=</span><span class="n">params</span><span class="p">,</span> <span class="n">scoring</span><span class="o">=</span><span class="n">scoring_fnc</span><span class="p">,</span> <span class="n">cv</span><span class="o">=</span><span class="n">cv_sets</span><span class="p">)</span>
    <span class="n">grid</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
    <span class="k">return</span> <span class="n">grid</span><span class="o">.</span><span class="n">best_estimator_</span>


<span class="n">model</span> <span class="o">=</span> <span class="n">fit_model</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="n">md</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_params</span><span class="p">()[</span><span class="s1">&#39;max_depth&#39;</span><span class="p">]</span>
<span class="n">vs</span><span class="o">.</span><span class="n">ModelLearning</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">)</span>
<span class="n">vs</span><span class="o">.</span><span class="n">ModelComplexity</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;The final model has a max_depth of &quot;</span><span class="p">,</span> <span class="n">md</span>


<span class="c1"># Evaluate the final model</span>
<span class="n">y_pred</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">X_test</span><span class="p">))</span>
<span class="k">print</span> <span class="s2">&quot;Model Score on Testing Set: &quot;</span><span class="p">,</span> <span class="n">r2_score</span><span class="p">(</span><span class="n">y_pred</span><span class="p">,</span> <span class="n">y_test</span><span class="p">)</span>


<span class="n">vs</span><span class="o">.</span><span class="n">PredictTrials</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">fit_model</span><span class="p">,</span> <span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4HNXV+PHv2V11yUWW5G4LjGUhV7AxNQZTTTHJSw09
oeTlRwgBx0loMeCXGsBAaKaEJJSEGgIOBlNMKKEYV9zA4Ip7kaxi9d37++POSKP1Slo1r8r5PM88
2ul3dlezc+bee0aMMSillFJKKaVUR+aLdQGUUkoppZRSqqU0sFFKKaWUUkp1eBrYKKWUUkoppTo8
DWyUUkoppZRSHZ4GNkoppZRSSqkOTwMbpZRSSimlVIengY1qV0TkZyJiPMMeEVknIq+LyDkiIm24
71tFpEn5z0XkPyLynzYqUqT9/TXs/alvOGZflamBst4dVqZyEVkmIte15efY2Tnva3Wsy9EUIpLo
fAeuj8G+v/B8B0MisllE3hKRsW2wr1tF5AcRCYrIF629faWUUg0LxLoAStXjbGAjkAAMAk4F/gH8
QkQmG2PK2mCfTwPvNHGdq9qgHA35P2CmZ/xy4DLgKCDomb5iXxaqAUFs2QB6Ycs7A6gEHo1VodQ+
VwEcDmyI0f6/Aq4BBNgP+APwsYiMNsZ83xo7EJEJwC3AHcBsoLA1tquUUip6Gtio9mpx2AXHcyLy
CvAK8EfgV629Q2PMRmww1ZR19mkAYYxZDax2x0VkkvPyS2NMo3fxRSTBGFPRVuWLxBhTc+daROYA
q4Ar2MeBTSyOvbnae1lFxA9INN85AGOfBB3LGowiz/fwcxGZD3wL/AL4XUs27PmsDnQmPWaM2dyS
bYZtVymlVJS0KZrqMIwxrwFvAFeISLI7XUSSReQeEVkrIpXO35tEpM73W0QyReQxp6lIhfP3ORFJ
cObv1RRNRH4tIitFpExECkRkvoj8j2f+Xk3RRGSY03Rut7PeF54AxF3mVqdpzFCnWUyJiKwXkWnh
5W4uEZnk7GOy04RtF7DeM3+siPzbU86PReTwCNs53jnOEmd4S0QODF8uGs6F8FJsLVz4fqItz29F
ZIOzzOcicoiIbBWRmZ5lrnSO/XDnsygEPmrKMYnIac5nV+Qss9LblEpE8kTkTRHZ4TSz2yAiL4Vt
I09EZolIoVPe/4rIcWHL3C0i1SIyQkQ+EJES4Nmmv7t7vU/nisg8ESl1vrsvikj/sGUuFpGPnGMo
FpEFInJ+2DJuM7JpIvIHEVmPrXEb6vmOTRKRJ0QkX0S2O9+3bhG24X3/3OMeKiJzxDY7XSsiN4jU
baooIuNF5DPP+zzVWb+8Oe+NMWYVUAwc4NlHbxF5SkS2iD0/rBCRn4eVI+L3SmyzM/f7t8l7rCLS
Q0Qed76jlSLyjYhcHbbdev9XPe9Troi873ye60TkQmf+pSKyyvmOvi8ig8O23ZTP+GYR+Y3Yc1Gx
830cFv7+iW0W/IXzmRU5r0/2zI9zviurnPdyo9hzdHzYMneJyBrnc90pIp+IyKHRf5JKKVWX1tio
jmY28BNgHLYpSQCYA+Rhm2ktBQ7DNjVJB34DICI9gc+cabcDXwNZwI+BeGxTmTpE5ALgfmA68AmQ
BIxythGRiPQDPsVeNF2NbY7yS+AtETnNGPN22CqvA38BHgAmA7cBPzjTWstMYBZwHpDolPMw4EPs
XfTLgHKnvHNFZLwxZqmz3BnYWrLXgfMBP3AD9r0fZYzZ0ozyZOOpdWpiea7G1tjNBP4F5DjlS61n
Xy8CLwCPOGWP6phEJBf4J/B3bPOiamAoMNDZhgBvY2v4/hfYBQzANpl0j2kw8F9gB/D/gBLg18Ac
ETnRGDPX+xZgg/Ynsd9Pb7PCJhORa7FN/p5yyt8D+z3+UETGGGNKnUX3d96L74AQMBFbOxpvjPlr
2Gb/F1vLcS3289kOuBfRj2E/j3OBEcDd2P+p/22sqNj3+c/AvcAZwJ3AOmzTU0SkL/A+sBa4EPve
/Bbov/fmoiMimUAasNsZ7wl87sy+Gdtk7lTgzyISMMY8FbaJ8O/VJuDn2PPNqUA+sCHs/HQz8A32
nPOwiKQbY6aHbXev/1W3yNjPaSb2+38N8KyIDAeOcN6PJOAh4DlggmfdpnzGlwPLsf97ycB9wOsi
MsIYE3Leq6nYz+oV4B6gDBhL7XcB4GXgBOxnOQ/7nZiO/R+5wFlmGvbceAOwDOgOjKeB86tSSjXK
GKODDu1mAH4GGOCAeuaf5Mw/1xm/yBmfELbcTdi7ylnO+HTsBdFBDez7VpxWM874I8DCRsr7H+A/
nvH7sBfBB3im+bEXhAvD9wX8PGx7S4F3m/B+udsJRJg3yZn3jwjz/gss8a4HxGEDjhedcR82yJod
tm469oLw7kbKdrfzXgScobdT3irg5GaUJw7YCvwzbN3zneOc6Zl2pTPtrrBlozom7AV0CEio59gG
ONs/sYHjfwR7cT8o7JjWAp+FvU8G+N8oP/O7geoG5vcA9mCbRHmn5zifx5X1rOdzPqfnsE0b3emJ
TvnWAfH1fMeeCJv+NLb5V/g2ro9w3Od5pgm2qeKbnmkzsBfPvT3TUrHBQ3kU79cXwAfOscU578Ns
Z9+TnGXucN6z7LB1nwM2A76GvlfOvKudeX08085ypv00bNnngVKgexT/q+77dI5nWpYzbRuQ4pn+
O2d673rei8Y+4+WA3zP9Qmf6wc54L+ez+HsD7/cJ4eV1pl/mTD/QGX+/oe3ooIMOOjRn0KZoqqNx
m6i4TcYmYZtsfCYiAXcA3sVexBzmLHci8JUxZlET9vUVMEZEHhbbdCm50TXsndIvjKd/kDEmiL37
PEY8zXMcb4WNLyNCM60Wet074pThcOAlZ9x9zwwwl9q7vcOxF/DPh723Rdj3xntXuD5+bCBThQ1K
bgF+Yzw1V00oz37Y4OiVsH28Ru33ocFjb8IxLcQGNq+IyBkikhG2na3Y2pr7ROQyERkSYd8TgE+M
MTUd5o0xVc5xjheRxLDlw8vaXD/C3m1/IewY1zhDzefmNG96WUQ2Y4OeKuzF7F7Nj7DBYGU9+wz/
Hi8F0kSkRxTlrVnXGONeXHv/Bw4DPjbGbPMsV0LTEn0ciz22SuxNhoOBy4wx7jYmYWtaN4a9Z3OA
vniarDmi/awmOPsM/84+j61hGd+E7db8zxhjtgMFwKfGmD2eZb5x/g50JzTxM57jnK9cS52/7ufx
I2wQ9GQD5ZyEDRLfiHBOdrcB9v/tJyIyXUSOEJG4BraplFJR0cBGdTTuD7bbBCoL2wSiKmyY58zv
5fnbpMQA2H4O/w84FHuBky8i/xSR7AbWSfeUzWsrNijrGTY9P2y8grpNUFpDeHkynbLcwd7v2+XU
vmdZzt8XIix3vGe5hgSBQ7AXcGdimwDOkLp9Z6ItT1/n73bvDoztYF1fBqrwY4/qmIxNCnEy9rP4
O7BNbP+YI5351diL5a+xzXK+F5HvReQyz74a+i74sU1vXCHnYrU1uMf4KXsf41CcY3SCjveBXGxT
pqOwn9ULRP4ONtTsMNL3mHq24xU0xhRFWNe7Xl/CPnPHtgjT6jMPe2xjsYFtX2PMM575WdibH+Hv
13PO/PDverRNMNOB7WHBAtjvgDs/mu0GjTHFYdMqscFN+DSobXLa1M+4sc/RfR8aOpdmASnY5ore
99IN8N1t3Ir9nz8LW2O7U2wfp/BzpFJKRU372KiO5lTsD+YCZ3wXtmnPOfUsv875u5Mmtsl37h4/
ATzh/NieiO1z8xI22IkkH+gTYXofbK1C+IXIvhBem+FevNyP7StQ3/K7nL+/AT6OsFxUHbeNMfOd
l1+JyGfYu8oPY/tJNaU83mC2htjkD92JLPzYoz4mY8x7wHtOzcpROGl8RWSQMabQGPMdcKHYZA9j
sH1PnhaRNcaYD2n4uxCkbjDWpOcnNcI9xvOx/SrCuYHEj7D/Ez/xfEY0cOe8NcvYFFsI+8wdvZuw
jWLvMUawC/gee/EfyTdh49G+F/lApoj4jNNHxdHHM785241WUz/jxux0/vbHvl+R7ML2MTy2nvmb
oOaGxB3AHU4/qtOx54B44JJmlk8p1cVpYKM6DBE5E/vj95Cp7fz8DrYmoMQYE37x4fUucLPY51Ys
aeq+jTEFwEtOxp6GOkR/BFwrItnGmHVOuf3YTtWLItyd3ueMMQUi8iU2EcJvnQAukqXY/gUHGmNm
tNK+t4rIncA9Yp9HNKsJ5VmLvUt/Nk7HcsdZ1DZRbEyTj8kYUw68LyLp2KB2ELVNdHAuWBc6naov
wnaU/hD7XbhCRPoZJ/2v0yTnHGz/hmZl9IrCx9h+EPsbY/7RwHJu08oqd4KIZAGntFG5musL4P+J
SG+3OZqIpGKbPLWWd7D9+9YYY8KDjZb4CJua/n+wTSZdF2A/o3mRVmpFrf0Zf4It9y/wZBkM8w42
SUaCMea/0WzU2CQkT4jIj7H/P0op1Swa2Kj2aozTryEeeyF5GvaC9j1sFh3XC9hsRB+IyP3YDujx
wBBsEPQTJwh6AHsH+30RuR17YZqBzVB0ZYRmHojIk9g7j59jm8LkYC9c3w1f1uMB7AXSeyJyC/bu
+FXOuqc2sN6+di22/8psEfkrtmlMJrYWpcoY8wdjTNDJQvaK07/oNezd2D7AkcAqY8wjzdj3I8AU
bOa6WU0oT5Xz2T0sIo9j+yPkAFOxbfpDNCLaYxKRa7BNdt7BNrvJBG7ENqf5RkTGYzM+vYxNcBCH
bTZXiU0oATaRxIXY7+ZtThmvwX6fL2/iexZOROSsCNM3GmO+EJtq+H6xWfrmYL/H/bEZsd42xryK
vUjdg72gnA50w2aq2oZtrtVe3It97tG7IvJ/2H4iv8NmmWutZpt/xAbIn4rIg9gEBmnYZ9Mcaow5
s5nbfQMbvDzjfBbfYs9LFwK3GGPa+iGerfoZG2PyRWQacK9TU/kSNgnCQUChMWamMeYdEfknto/N
DMCtKdoPew78lTFmvYi8DXwJLMIm7hiHreV5oPmHq5Tq6jSwUe2V29nWTSu7EPgp8Kr3jr5zsXsS
cD32LuJ+2B/y1dhOyZXOcrud/hG3O8v2wv64z6W2XXq4/2KDpouwTZ02Yzv93lJfoY0xm0XkKGwa
1MeBBGAxcKqno3LMORe/h2Ivch7BXvBsx16EPO5Z7nURmYi9qP8ztsPzFmyw93wz913q1No8JCIn
G2PebkJ5HnECkl9hP5sl2NS4HxDlk96jPKZF2OxO92CDml3YO9RugLXJWcdNO1yG7W9zinFSUzsX
b0dhs1o9iQ1+FmEzcXlTPTeHj707pIMN1M4yxvxJ7PNmpgAXU5uS+COc2ibnu3om9qL+NWwANwPb
Z+3aFpav1Ribfvt44EHsjYzt2Ie7ZmNvTLTGPvKd798t2IyKfbHNRr/BSWrRzO1WO+enu53tpmMT
OPyqmTcFmrr/Vv+MjTH3Od//Kdia00pswofbPIud42z/Z9j/6XJsjescaptKfoxN3X8NNkDdgD0/
39WccimlFNgnR8e6DEop1WxO8PAJNr1spIt91ck4fUS+xjYda081oUoppWJIa2yUUh2GiORgm3G5
D0Edga15WQW8GcOiqTYkIncBK7F39TOw/dyGYR/wqJRSSgEa2CilOpYybAayn2MfRJmP7fP0eyfL
kuqcfNj0wP2wGeUWA6e1QpM+pZRSnYg2RVNKKaWUUkp1ePqATqWUUkoppVSHp4GNUkoppZRSqsPT
wEYppZRSSinV4Wlgo5RSSimllOrwNLBRSimllFJKdXga2CillFJKKaU6PA1slFJKKaWUUh2eBjZK
KaWUUkqpDk8DG6WUUkoppVSHp4GNUkoppZRSqsPTwEZ1SiJyjIhsbKNtZ4uIEZFAW2xfKaU6Az0P
K6X2NQ1slGqEiKwTkeNjsN9zROQzESkVkf/s6/0rpVR7EcPz8B9F5AcRKRKR9SJy474ug1IqehrY
KNV+5QMPAnfHuiBKKdVFPQMMN8Z0A44ALhCRM2JcJqVUPTSwUa3CuZv2WxH5WkT2iMifRaS3iLwt
IsUi8r6I9PQs/4qIbBWRQhH5WESGO9PjRWSxiPzKGfeLyH9FZFoj+08Skb+KSIGIrAAOCZvfT0Re
E5EdIrJWRK7xzLtVRF4VkZecsi4UkdHOvOeAQcAsESkRkd95NnuBiGwQkZ0iclNL38Nwxpj3jTEv
A5tbe9tKqc5Hz8Ntch7+xhhT5JkUAg5o7f0opVqHBjaqNZ0JnADkAJOBt4EbgUzsd+0az7JvA0OB
LGAh8AKAMaYSuBCYLiIHAtcDfuCORvZ9CzDEGU4CLnFniIgPmAUsAfoDxwHXishJnvV/DLwCpAN/
B/4lInHGmIuADcBkY0yqMeaPnnWOAoY525vmlHcvInK9iOyub2jkuJRSqin0PBxBS87DzrolwEYg
xSmbUqod0sBGtaaHjTHbjDGbgE+AL40xi4wx5cDrwEHugsaYZ4wxxcaYCuBWYLSIdHfmLQNuB/4F
TAUuMsYEG9n3OcAdxph8Y8wPwJ888w4BMo0x040xlcaYNcBTwE89yywwxrxqjKkCZgCJwGGN7PM2
Y0yZMWYJ9sd6dKSFjDF3G2N61Dc0sg+llGoKPQ9H0JLzsDHmbiANOBh4DihspExKqRjRwEa1pm2e
12URxlOhplnD3SKyWkSKgHXOMhme5f8GDAZmG2O+i2Lf/YAfPOPrPa8HA/3C7s7dCPT2LFOzrjEm
hL0z16+RfW71vC7FOT6llIohPQ+3AWMtwr6Ht7XFPpRSLaeBjYqF87FNDo4HugPZznTxLPMY8G/g
JBE5KoptbgEGesYHeV7/AKwNu0OXZow5xbNMzbpOk4kB1PZtMVHsv14icqPTLjzi0JJtK6VUM+l5
uHnn4QC2qZ1Sqh3SwEbFQhpQAewCkoE7vTNF5CJgLPAzbHvwv4lIY3fhXgZuEJGeIjIA+JVn3jyg
WER+73Ru9YvICBHxdmwdKyJniH0mwrVO+b5w5m0D9m/OgQIYY+502oVHHOpbzylnIvaH1CciiSIS
19xyKKWUh56HGzkPi4hPRP7XOR4RkfHAL4EPmlsOpVTb0sBGxcKz2CYKm4AV1P5wISKDsCmOLzbG
lBhj/g7MBx5oZJu3OdtcC7yLbQcNgNMu/DRgjDN/J/A09i6l6w3gXKAAuAg4w2nnDXAXcLPTfGJq
cw64mS7CNnt4HPiR8/qpfbh/pVTnpefh6PwPsBooBp4HHnYGpVQ7JMa0qHZXqQ5PRG4FDjDGXBjr
siilVFek52GlVGvQGhullFJKKaVUh6eBjeowxD5kLlLHzxtjXTallOoK9DyslGrPtCmaUkoppZRS
qsPTGhullFJKKaVUhxeIdQGaKiMjw2RnZ8e6GEopVWPBggU7jTGZsS7HvqTnYqVUe9MVz8Wqrg4X
2GRnZzN//vxYF0MppWqIyPrGl+pc9FyslGpvuuK5WNWlTdGUUkoppZRSHZ4GNkoppZRSSqkOTwMb
pZRSSimlVIengY1SSimllFKqw2uzwEZEnhGR7SKyrJ75IiJ/EpHvReRrETk4qg0vWADZ2fDCC61Z
XKWU6pT0XKyUUqqraMsam78CkxqYfzIw1Bl+ATwe9ZbXr4df/EJ/UJVSqnF/Rc/FSimluoA2C2yM
MR8D+Q0s8mPgWWN9AfQQkb5R76C0FG66qYWlVEqpzk3PxUoppbqKWPax6Q/84Bnf6Ezbi4j8QkTm
i0jdhyZs2NB2pVNKqa5Bz8VKKaU6hQ6RPMAY86QxZpwxZlydGYMGxahESinV9ei5WCmlVHsWy8Bm
EzDQMz7AmRad5GS4447WLpNSSnU1LTsX+3xw222tXSallFKqyWIZ2LwJXOxk5DkMKDTGbIl67Usv
hQsuaLPCKaVUF9H8c3G3bhAK2SQCVVVtWkillFKqMYG22rCI/AM4BsgQkY3ALUAcgDFmJjAbOAX4
HigFfh7Vhg8+GNasgXXrWr/QSinVybTZuXjsWPjiC5gwAe68E0aOhMmTIdBmPytKKaVUg9rsF8gY
c14j8w3wyyZvWATOPNOmF92xAzIzm1tEpZTq9NrsXAw2iPn7322Q85vfwIABcNBBGtwopZSKiQ6R
PGAvl1wC5eXw4ouxLolSSnVt2dnwyCO2Fn36dFi1CqqrY10qpZRSXVDHvK125JH2zuCLL8JVV4Hf
H+sSKaVU13X22TB3Ljz9tK29OfdcGDpUa26UUh3GggULsgKBwNPACDrqjf+uIQQsq66uvnzs2LHb
w2d2zF8dnw9++lN44AHb32bo0FiXSCmluq5AwPazWbAA7r0X8vLs9JwcvfGklOoQAoHA03369Dkw
MzOzwOfzmViXR0UWCoVkx44deVu3bn0aOD18fseNSC+5BIJB+OtfY10SpZRSGRkwYwbEx8Mf/gA7
d8L339vztFJKtX8jMjMzizSoad98Pp/JzMwsxNas7T1/H5en9YwYAcOHw7/+ZfvbKKWUih0RGD8e
brnF9rN59FEoLNTgRinVUfg0qOkYnM8pYgzTcQMbgPPPhxUrbPMHpZRSsZWcbLNWXnwxvPQS/Pe/
sHu3BjdKKdWArVu3+nNzc/Nyc3PzMjIyRmdlZY1yx8vLyyWabZx11lnZS5YsSWhombvuuivz8ccf
T2+NMj///PM9cnNz84YNG5Y3ZMiQ4TNmzMhoje22VMfsY+O6+GK4+WZ49lk4/HDb90YppVTs9O1r
k7p8/bVtkvb663b66tVwwAF6nlZKdQ4zZ6YzfXp/tm6Np0+fSqZN28SVV+Y3Z1N9+vQJfvPNNysA
pkyZ0i81NTU4ffr0bd5lQqEQxhj89fRbfPXVV9c1tp8bbrhhR3PKF66srEymTJkyaN68eSuzs7Or
ysrK5LvvvotvyTYbO75odexfmAEDbEAzezYUFcW6NEoppQIBm9Dlllvs62uvhZQUKCiwwU0oFOsS
KqVUy8ycmc511w1my5Z4jIEtW+K57rrBzJzZKrUhrmXLliUMGTJk+Omnn77f0KFDh2/YsCHuvPPO
GzxixIgDDzjggOFTp07t6y47duzYYZ999llSVVUVaWlpY6666qr+w4YNyxszZkzupk2bAgDXXHNN
v+nTp2e5y1911VX9R44ceWB2dvaI9957LwWgqKjId9JJJw0ZMmTI8EmTJu0/YsSIAz/77LMkb7ny
8/P9xhiysrKqAZKSksyoUaMqADZs2BA47rjjhuTk5OQNGzYsb+7cuSkAN998c++hQ4cOHzp06PA7
7rgjq77je/nll7uNGTMmNy8v78BTTz11/6KioibFKh07sAG46CLYuBHefz/WJVFKKQXQsycMGwa3
3mqbC99zj51WUGAzWWpwo5Rqzy69dCDjxw+rd/j1r7MpL697DV1e7uPXv86ud51LLx3YnKKsXbs2
cerUqdtWr169fL/99qt68MEHNy5btmzlypUrl3/44YfdFixYkBi+TklJif+YY44p/vbbb1eMGzeu
5NFHH43YTMwYw9KlS1fecccdP0yfPr0fwN13352VlZVVtXr16uW33HLLlpUrVyaHr9e/f//qCRMm
FA0cOHDU5MmT93viiSfSg05z4yuuuGLwcccdV7Rq1aoVy5YtWzFmzJiyuXPnprzyyiu9Fi1atGLe
vHkr//znP2fOmzcvKfz44uPjzb333tv3k08+WbVixYqVI0aMKL3zzjuzmvJ+dfzA5qc/hbg4ePll
qKiIdWmUUkqJwODBcNhhNoPl88/Du+9Cjx6wa5cGN0qpjq2yMnK/l/qmt8DAgQMrJkyYUOqOP/PM
M+l5eXkHDh8+PG/NmjWJX3/9dVL4OomJiaFzzjmnCGDs2LGl69ati9hM7Oyzz94NcMQRR5Ru3Lgx
HuDzzz9PveCCC/IBDj/88LIhQ4aURVr3tddeWzd79uxVY8eOLZ0xY0af888/fzDAl19+mfab3/xm
J0BcXBzp6emhjz76KHXy5MkFqamppmfPnqGTTz5599y5c1PDj2/u3Lmp33//feIhhxySm5ubm/fq
q6/2Wr9+fYP9hsJ17D42YH8oTzgB3nsPtm+Hgc0KiJVSSrWm5GTo3x+uuAIWLoQbb4QDD7Tn6J07
bV+b/fazQZBSSrUnzzzzQ4Pz+/UbyZYtewcLfftWMm/et61ZlKSkpJq7QEuXLk144oknes+fP39l
RkZG8Mc//vF+ZWVle51EA4FATXY3v99vgsFgxBNtYmJiqLFlGnLooYeWHXrooWWXXnrprhEjRowA
1kNN1rKoeI/PGMPRRx9d9K9//WttU8vi6vg1NgAXXmgz77z5JhjN1KeUUu1C376QmGgf2gkwZQpU
VkJ6ur0RtXatnrOVUh3PtGmbcIKCGomJIaZN29SWu929e7c/JSUl2LNnz+D69evjPv74426tvY/D
Djus5B//+EdPgHnz5iWtWbNmrxqh/Px839tvv53qjs+bNy+5X79+lc76Rffee28mQHV1Nfn5+b5j
jjmm+K233upZUlIihYWFvnfeeafHscceWxK+3YkTJ5Z8+eWXqStWrIgH299n6dKlTaqx6RyBzf/8
D6SlwaxZUFwc69IopZQCmzwgOxu6d4c77rCZ0mbMsPPc4GbdOg1ulFIdy5VX5vPAA+vp27cSEVtT
88AD65ubFS1aRx55ZOnQoUPLhwwZMuK8887LHjt27F7BQUtdf/3127ds2RI/ZMiQ4dOmTeu7//77
l6Wnp9fJ12+Mkbvuuqtvdnb2iNzc3Ly77rqr79NPP70O4Mknn9zw/vvvd8/JyckbOXJk3pIlSxIn
TpxYeuaZZ+466KCD8saNG3fgpZdeumP8+PF7NXEbOHBg9WOPPbb+nHPOGTJs2LC8Qw45JHf58uV7
9SFqiJgO9oMybtw4M3/+/L1nXHCBTSv6+ecwevS+L5hSqssSkQXGmHGxLse+VO+5OJwxsHKlram5
7z544QV4/HE49lg7r6AA+vSxfXK0WZpSqgVaci5esmTJutGjR+9s7TJ1NFVVVVRVVUlycrJZunRp
wqRJk3LWrVu3NC4uLtZFq2PJkiUZo0ePzg6f3jlqbMBmRysrs83RKitjXRqllFJgg5XsbCgvh9/9
DvLy4IZiHSLjAAAgAElEQVQbYMsWO69nT/t6wwatuVFKqRgrLCz0H3LIIbnDhg3LO/PMM4c8/PDD
69tbUNOQzhPYnHAC9O4N77xj+9sopZRqH5KToV8/G9w88IC9+XTddVBVZYOb9HQb3PzwgwY3SikV
QxkZGcHly5ev/Pbbb1esWrVqxRlnnNGhHhTZeQIbvx/OPBO+/BKWL9cfR6WUak/69bPn6f794fbb
YdEi+NOf7Dy35mbTJvtcMj1/K6WUaobOE9gAXHwxBIMwezbs2RPr0iillHK5iQSKiuDUU+Gcc+DJ
J+GTT+x8t+Zm40YNbpRSSjVL5wpsxo+HAw6AOXNsth2llFLtR3q6zZBWWgo33QQ5ObbfzbZtdr43
uNnUpllTlVJKdUKdK7ARgbPOgqVLYckS235bKaVU++BNJJCQAA8+aJO+TJ1qa9vdZdLTbX8bDW6U
Uko1QecKbMA2RwNba1NYGNuyKKWUqis52T64s7AQhgyBW2+FefPg0Udrl3H73KxfD5s3x6yoSim1
L2zdutWfm5ubl5ubm5eRkTE6KytrlDteXl4edR78Bx98sNeGDRsC7vhZZ52VvWTJkiY94LI+U6dO
7XvAAQcMz8nJyTvwwAPzPvroo+TW2G5rCzS+SAeTmwsHHwzvvgtXXgkZGbEukVJKKa/+/WHHDlur
/pOfwBdfwGOPwSGHwOGH22V8Pltzs369He/XL3blVUqpMDO/mpk+/ePp/beWbI3vk9qnctqEaZuu
PKR5D+js06dP8JtvvlkBMGXKlH6pqanB6dOnb2vqdp577rmM8ePHlw4aNKga4NVXX13XnPKEe+ed
d1I//PDDbsuWLVuRmJhoNm/eHKiqqmrRg8eqqqpoizTSna/GRgTOPhvWrrXN0TSJgFJKtS+BAOy3
HxQX2/Fp0+z4b38LOz3Px/P5bM3NunU2HbRSSrUDM7+amX7du9cN3lKyJd5g2FKyJf66d68bPPOr
memtva+HH36418iRIw/Mzc3Nu/DCCwcFg0Gqqqr4yU9+sl9OTk7e0KFDh99+++1ZTz31VM+VK1cm
n3/++UPcmp6xY8cO++yzz5KqqqpIS0sbc9VVV/UfNmxY3pgxY3I3bdoUAFi6dGnCqFGjcnNycvJ+
9atf9U9LSxsTXoaNGzfGpaenVycmJhqAfv36VQ8ePLgKYO7cuSljxozJHTZsWN6oUaNyi4uLfSUl
JXLGGWdk5+Tk5OXl5R349ttvpwLMmDEj4/jjjx9y6KGH5kyYMCEH4MYbb+wzcuTIA3NycvKmTp3a
t6XvV+ersQE47zz4wx9src3RR0NKSqxLpJRSyis9Hbp1s4kEkpNtf5uzz7bBzZ//bIMaqK25WbfO
vu7dO6bFVkp1fpe+cenAZduX1dvUasnWJSmVoco6NRbl1eW+X7/z6+xnFj+TGWmdEVkjSp/58TM/
NKUcX331VeIbb7zRY+HChSvj4uI477zzBj/11FPpOTk5Ffn5+YFVq1atANi5c6c/IyMjOHPmzKyH
H354wxFHHFEWvq2SkhL/McccU/zYY49tuvzyywc8+uijGXfeeefWq666atC111677dJLLy248847
I5b9jDPOKPzjH//YNzs7e8SPfvSjogsuuCB/0qRJJaWlpXLRRRft/9JLL60+6qijSnft2uVPSkoK
3XLLLX0SEhLMqlWrVsyfPz/x9NNPH7pmzZplACtWrEhesmTJiszMzOBLL73UfcOGDfFLlixZaYzh
mGOOGfree++lnHDCCc2uleh8NTYAAwfCUUfBe+/Zu3zV1bEukVJKKS8RGDzYJg8wBoYNszekPvsM
nnii7rI+H/ToAatX12ZQU0qpGAkPahqb3lxvv/12t6+//jpl5MiRebm5uXmff/552urVqxPy8vLK
16xZk/izn/1s4GuvvdYtPT092Ni2EhMTQ+ecc04RwNixY0vXrVsXD7BkyZKUSy65pADgsssui9iU
Lj09PbR8+fIVDz/88PpevXpVX3DBBUMeffTR9EWLFiX269ev8qijjioF6NWrVzAQCPD555+nXnzx
xbsAxo0bV56VlVW1fPnyBIAJEyYUZWZmBgHmzJnT7cMPP+yel5eXN3z48Lz169cnrFy5MrEl71mb
1tiIyCTgIcAPPG2MuTtsfnfgeWCQU5b7jDF/afGOfT575+8//4H5821K0V69WrxZpZTqaGJ2Ho5G
SortO7N9u00DfdZZtr/Nn/5k+9uMG1e7rN9vm6WtWWODoqysfVJEpVTX01jNSr/7+43cUrIlPnx6
39S+lfOumPdta5XDGMN5552386GHHtori8ry5cuXv/baa90fffTRrFdffbXnP/7xj/UNbSsQCNQ8
HMzv95tgMNikICwuLo7JkycXT548uTgvL6/slVdeSR8zZsxeNUONSU5ODrmvjTFMnTp1y3XXXbez
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
"
>
</div>

</div>

<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
eiIiEjUUeiIiEjUUeiIiEjUUeiIiEjUUeiIiEjUUeiIiEjUUeiIiEjV6RLoAEZFwOXToENXV1Rw4
cCDSpUgHiY2NZcCAAcTExLRpf4WeiJy0qqurSUpKIiMjAzOLdDnSTu7Orl27qK6uJjMzs01t6PKm
iJy0Dhw4QJ8+fRR4Jwkzo0+fPu3quSv0ROSkpsA7ubT371OhJyISJrt27aKgoICCggL69u1L//79
G5YPHjzYqjamTp3K5s2bj7nNY489RllZWUeUzLJlyygoKCA/P5/s7GyeeOKJDmm3s9B3eiIi9crK
4Kc/hY8/hoEDYfZsmDy5zc316dOHiooKAO677z4SExO5++67m2zj7rg73bo13wdZvHjxcT/ntttu
a3ONjdXW1jJjxgzKy8vp168ftbW1bNu2rV1tHu/4TrTOUYWISKSVlUFpKWzbBu7Bn6WlwfUdbOvW
rWRnZzN58mSGDBnCjh07KC0tpaioiCFDhnD//fc3bPvd736XiooKAoEAqampzJo1i/z8fM4//3y+
+OILAH72s58xd+7chu1nzZpFcXEx55xzDqtXrwZg3759XHXVVWRnZzN+/HiKiooaArne7t27cXfS
0tIA6NWrF2effTYAn332GWPHjiUvL4/8/HzWrFkDwC9/+UtycnLIycnhkUceafH4li9fzvnnn09h
YSETJkxg3759HX5eW0M9PRGJDnfdBUf8km/i7behtrbpupoauPFGePzx5vcpKIBQ2HxbH3zwAU8/
/TRFRUUAzJkzh7S0NAKBACUlJYwfP57s7Owm++zevZuRI0cyZ84cfvjDH7Jo0SJmzZp1VNvuzjvv
vMPLL7/M/fffz6uvvsojjzxC3759efHFF1m/fj2FhYVH7XfaaadxySWXkJ6ezujRo7n88suZMGEC
3bp147bbbuOiiy7i9ttvJxAIUFNTw5o1aygrK2Pt2rUEAgGKi4sZNWoUcXFxTY7viy++YM6cOaxY
sYL4+Hhmz57NQw89xD333NOmc9ce6umJiMDRgXe89e101llnNQQewJIlSygsLKSwsJDKykref//9
o/aJi4vj0ksvBWDYsGFUVVU12/aVV1551DarVq1i4sSJAOTn5zNkyJBm933qqad44403KCoqYs6c
OZSWlgKwcuVKpk+fDkCPHj1ITk5m1apVXHXVVcTFxZGUlMQPfvAD/va3vx11fKtXr+b9999n+PDh
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
AAAASUVORK5CYII=
"
>
</div>

</div>

<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>The final model has a max_depth of  9
Model Score on Testing Set:  0.484820304883
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>你成功的用新的数据集构建了模型了吗？他能对测试数据进行验证吗？它的表现是否符合你的预期？交叉验证是否有助于提升你模型的表现？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案：</strong></p>
<ul>
<li>由上图可见，预测北京房价的模型在测试数据集下的性能分数是0.48，达到这个性能所用的决策树模型深度是9。</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[153]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="k">def</span> <span class="nf">robust_test</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">models</span><span class="p">,</span> <span class="n">iteration</span><span class="p">):</span>
    <span class="n">depth</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="n">score</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">iteration</span><span class="p">):</span>
        <span class="n">X_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">y_train</span><span class="p">,</span> <span class="n">y_test</span> <span class="o">=</span> <span class="n">train_test_split</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">train_size</span><span class="o">=</span><span class="mf">0.8</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="n">x</span><span class="p">)</span>
        <span class="n">model</span> <span class="o">=</span> <span class="n">fit_model</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">y_train</span><span class="p">)</span>
        <span class="n">depth</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">get_params</span><span class="p">()[</span><span class="s1">&#39;max_depth&#39;</span><span class="p">])</span>
        <span class="n">y_pred</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">X_test</span><span class="p">))</span>
        <span class="n">score</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">r2_score</span><span class="p">(</span><span class="n">y_pred</span><span class="p">,</span> <span class="n">y_test</span><span class="p">))</span>
    <span class="k">return</span> <span class="n">depth</span><span class="p">,</span> <span class="n">score</span>

<span class="p">(</span><span class="n">depth</span><span class="p">,</span> <span class="n">score</span><span class="p">)</span> <span class="o">=</span> <span class="n">robust_test</span><span class="p">(</span><span class="n">features</span><span class="p">,</span> <span class="n">prices</span><span class="p">,</span> <span class="n">fit_model</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
<span class="k">print</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">Model tree max depth Statistics over 10 run: </span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">depth</span><span class="p">)</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
<span class="k">print</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">Model R2 Score Statistics over 10 run: </span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">pd</span><span class="o">.</span><span class="n">Series</span><span class="p">(</span><span class="n">score</span><span class="p">)</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>
Model tree max depth Statistics over 10 run: 
count    10.000000
mean      6.500000
std       2.173067
min       3.000000
25%       5.250000
50%       6.000000
75%       8.750000
max       9.000000
dtype: float64

Model R2 Score Statistics over 10 run: 
count    10.000000
mean      0.450899
std       0.222173
min      -0.028896
25%       0.341710
50%       0.477015
75%       0.625357
max       0.700067
dtype: float64
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><strong>答案：</strong></p>
<ul>
<li><p>问：它的表现是否符合你的预期？</p>
<p>我多跑了几次，发现模型的性能并不稳定，于是写了一个测试模型鲁棒性能的函数，检查独立构造模型10次中每次最终模型的深度<code>depth</code>和针对测试集的分数<code>score</code>。然后发现模型最差的时候甚至能够得负分，就是说这时候模型还不如直接对原数据集平均得到的结果准确...不过最好的时候模型还能达到0.7分的高分。考虑到已经使用了GridSearch和K-Fold CV，因此这种不稳定的现象应该不是模型本身参数的问题，也不是数据集本身划分不均匀导致的，而是<strong>数据集提供的特征根本就不够导致的</strong>（详见回答问题8的<strong>机器学习所用的数据集的2个大前提</strong>总结）。影响北京的房价的因素肯定远远不止数据集中这6个特征，还要考虑到政策调控和宏观经济走势的影响。因此这个数据集训练出来的模型的准确度和稳定性都不会太高。</p>
</li>
</ul>
<ul>
<li><p>问：交叉验证是否有助于提升你模型的表现？</p>
<p>使用ShuffleSplit交叉验证还是很重要的，它能确保你在对训练数据集的建模结果更为准确。</p>
</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>如果你是从零开始构建机器学习的代码会让你一时觉得无从下手。这时不要着急，你要做的只是查看之前写的代码，把每一行都看明白，然后逐步构建你的模型。当中遇到什么问题也可以在我们论坛寻找答案。也许你会发现你所构建的模型的表现并没有达到你的预期，这说明机器学习并非是一项简单的任务，构建一个表现良好的模型需要长时间的研究和测试。这也是我们接下来的课程中会逐渐学到的。</p>

</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
